/***********************************************
 * Filename:  		Model.h
 * Date:      		???
 * Mod. Date: 		???
 * Mod. Initials:	MVP
 * Author:    		Mikeal V. Perry
 * Purpose:   		The data used by objects when rendering
 ************************************************/

#ifndef _MODEL_H
#define _MODEL_H

#include "Material.h"

class CModel
{
	char m_szModelName[32];				// The name of this model
	int m_nMeshIndex;					// The indices of the meshes that make up this model
	int m_nShaderIndex;					// The index of the shader stored in the renderer
	TMaterial m_tMaterialData;			// The particular material used by the shader.

public:

	CModel(void);
	~CModel(void);

	/***************
	*  Accessors
	***************/
	const char* GetName() const {return m_szModelName;}
	int GetMeshIndex() const	{return m_nMeshIndex;}
	int GetShaderIndex() const	{return m_nShaderIndex;}
	TMaterial& GetMaterial() {return m_tMaterialData;}

	/***************
	*  Mutators
	***************/
	void SetName(const char* szModelName);
	void SetMeshIndex(const int _index) {m_nMeshIndex = _index;}
	void SetShaderIndex(const int _index) {m_nShaderIndex = _index;}
};
#endif